re-factoring pre-and post-increment/initialization