semantic 7 is finished (needs to still be tested) and semantic 8 is nearly done (not sure how to do the return boolean part). next up should probably be an error class of some kind and semantic 5