remove redundant functions