reworking procedure call signature