restructured for (hopefully) the last time, still getting used to organizing in python after working in java for so long...