almost done with first stab