adding argument support
cleanup