fix bug
refactor