error catching, compiles