update function signature