more input checks; better code generation