updated to be radix-based