How can we do that with out duplicating logic?