Updated with Ali Code