remake for classes