Adicionando classes e aprimorando refatoramento