Muitas alterações feitas

Refactory com muitas alterações feitas