made assignment 3, implemented type specification objects, didnt get much time to test though