testing work and refactoring