Just need some pointers on how to write one please. Is there a logical way to sytematically approach it so that all bases are covered?