contents and renderStep are the same