incorporated feedback; added more tests; changed filter to collate in API; Added support for accepting filters and template params