used UnsupportedOperationException for all implemented methods that are not supposed to be used