Added main function to package as well as tests and package architecture