Initial commit
Squashed some bugs and enhanced interface