reworking of how the update works to support permissions