pequenas alterações com melho aproveitamento de código