abstraction of procedures 1305736