cleaner argument list