it's better to understand the theory before putting up some faulty production code.