better remove of copy
add oassert macro
add version macros