add nocopyable util
add nocopy