working without traits