initial commit: project structure with reserved methods to implement.