moved filters to kwargs, added constraints kwarg