Use step in Optional constructor