use version checks instead of has() again