forbid copy assignment and construct
add default constructor