[ADJUST] Código corrigido e adaptado com abstrações.

Signed-off-by: Leonardo Augusto <leonerd12@gmail.com>