removed some redundant functions