diasable long name warning on windows
remove memory leak through cyclic shared_ptr dependencie
aligned operator new