refatoracao de projeto para contract first