refactoring
better