used property_exists instead of isset for property detecting