add unit tests for the ISA and some other related crap