bug fixed & refactor