fixed outdated error handling (using catch instead of error), prerequisites are now actually built BEFORE their dependent.