Previous implemenations were hard to read so changing to be more logically simplistic. Still needs further coverage in tests and review/alignment of permissions to use.