inheritance should work more nicely?