OO Version, with multiple color detection