adding type_info and general cleanup