unfinished but working upgrade to 3.0