Done up to 2b