entity case classes