Outline Objects need to be processed: queried or transformed. The concerns the programmer has at the design level: ClassGraph, WhereToGo, WhatToDo. WhereToGo depends on ClassGraph and WhatToDo. WhatToDo depends on ClassGraph and WhereToGo. Goal: Keep the concerns separated at the implementation level: Make our programs look like designs. Better separation of concerns by using a functional approach: AP-F. AP-F Use series-parallel graphs and assume consistency. Focus on the programming model of DemeterF: Programming in flows. Theory and Implementation of WhereToGo: Your traversal graph construction.