Initial commit

All basic functionality is working in this commit.