Prevent accidental use of no parameters. Also better error handling.