more contract stack stuff