Created subpackages to seperate code to make project easier to manage, modified some class names to further reflect their usage