new classes like interactions and data class for stuff