abort earlier and harden against syntax errors