Casmo API

Pull request replacing #73 to account for asymmetric assemblies
Finished :)