Refactoring + Tests coverage