Add unchecked annotation to suppress spurious scala warnings
Fix various stuff, prototype implementation
bleh