reworking classes a bit