improve filter.propose points, and add tests