updated to avoid duplicate function names