+ the damn .DS_Store
organized callback in more sane way