main procedure protection