all working, still not oo enough