refactoring to simplify the naked and hidden finder
add observer