modify indent & not rely on impl