fixing and refactor