find a way to eliminate aba problem, not finish yet