Major refactor
Removed check expressions (will be re-done better)and use only TypeInfo