talvez fique mais legivel se criares uma factory especifica para este caso