the naming here is indeed weird, but the duplication makes it hard anyways.