WIP: got the basic operations written out