reading program design