added a type conversion system, not tested yet