update filter
add AbstractSingleton