filter method implemented,  seems hacky