basic rubyish inheritance (no mixins yet)