expanded on unit tests, added resource file, further restructuring