Refactor. Because we should not modify the given interface.