Combining Code and Cleaning

Not completely done...add in your own OI code in OI.cpp please