Updated has() function