add some features of #1 nth, funnel, single, after
Refactoring