finished all optional ones