optional steps added