function signature updated