user can set the save path using the second param