finalized optional changes and everything else.