bug fix and feature add