Application restructuring and refactoring
Added persistence support through mongodb