restructured the app and domain classes