split domain classes out to seperate files