almost done, a lot of crap