Working Draft

Really needs optimization