ignore hidden dirs + smarter