Refactore do generic
Refactore do generic