switch to being more explicit about type sizes
add basic python wrapper
handle chirality better.
NOTE: this is now wrong for ring stereo