master
allow recursive contracts to be extended across multiple levels
Created modules for tests
Contract ordering was backwards from documentation