changed class design: