most of the optional steps. one more to go.