fixed bugs & follow 10