Add javadoc and improve background filter and make main filter methods
private