validate arguments as well