has_image property, and refactor