rebasing from NuCivic