What requirement am I missing in the following solution?