upgrade to v4.0.0 functionality, old code archived