2d rewrote all, need refs and general proofread