updated almost done