cleaned up arguments and syntax