fix bug in filter method and add once