added response filter and more overload options to Model.fetch()