requesetiong Full refactor suggestions

The standard is to use `args` here rather than `user` as the param. This way you can use `args` clearly once you start using inheritance.