necessary base