all almost done
