better way of doing the arguments