Change delegate to weak peroperty