Refactored A lot of Classes
Added basic Type Analysis