partial implementations of some major classes