implemented Parameter inference
redesigned Typing to use all classes