Progress.
Bug fix and enhencement.