return rather than set a result