added convert_to_unit_vector(), project()