Initial commit

Initial commits and basic functionalities are working fine.