now compiles; working on tests, prolong/restrict