initial full commit of functionality
first commit full functionality