teste, refatoração e implementações