mapper: make factory method return actual object