contracts dont use pid