Initial commit

Basic functionality works