added: transfer object design pattern