refatoracao + makefile