added do functions