Domain Model(incomplet)