this whole class may be unneeded