added new three functions