Adicionando Search e refatorações finais.