refactor, implement bdd on project