Partial work on improving step 4.