minor changes to class definitions - this isn't working now...