re-organizing after code review