function signatures fixed