improve isSuperOf implementation