update priv to pub post:

- split up c code
- add racket ffi wrapper section