towards 2.0 (still need to finalise)