refactor, fix