Final. Added optional steps.