updated for more detailed steps.