adding procedural code