move target to public include directory
update public include file
add target copy and destroy functions
implement target copy and destroy functions