work towards FFI completeness
finish first pass at FFI wrappers
merge master