Begun primitive interface. Built wrapper functions. Not optimised, but working