bug fix & improvement