revising functions