bug fix and become more user-friendly