fix the first step, max to rewrite the rest