Moving conditions from members to arguments. Code is not working atm.