remove old files
make BuildFilterChain method public
add BeforeFunc function