fixing and enhancement.