replaced case classes with case objects