Refactored, portability. Made code portabel for gcc-3.4.4. Differeced mainly for overloaded operators. Stable {msvc-9.0, gcc-3.4.4}