Almost final 2.0 Just needs bug tested