missing semis, missing keyword virtual