correct function signatures