Title: An empirical investigation into problem decomposition strategies used in program design