intermediate programming 487