Some fixing and improvement