OO Version & General Bug Fix