Refatorações e adição de teste