added more 'has' support