This version works!!!! Go and fix the bugs!!!