use has() for push/unshift