Domain models, hash generation & stuff