update : correcting the procedural functionalism