create_traits refactor