this is a private method, so the options don't have to be an optional param.