Initial commit

Initial project structure and base functionality.