WIP: Finishing up defining the models and started implementing native c methods.