build: better error checking