Reworked case classes