Semantic and Refactoring

Signed-off-by: Filiberto Cota <filiberto.cota@gmail.com>