Changed file hierarchy and added subpackages