this needs a slice type guard too.