updated the interface to have the third parameter