enhance and fix issue