this is redundant. let's use lang3