approach #2.