turned filter method into many sub methods