I hate to see all the code in the same file. So I have implemented the package structure