declarative vs algorithmic presentation