Initial commit
All functionality present, now some clean up