Wrote straightforward impl, about 2 debug