Such classes... Such mess...