removed namespace Procedure
changed assert -> exception for 'expected' error