added has() method