to do 2, just need to add filter method