A few minor changes to class structure, added some helper classes