maybe raise UnsupportedOperationExceptions or something like that for stuff that isn't used?