exposing a lot more options to this function