commented out old implementation and did a whole new implementation. Still doesn't completely work.