move cpp constructor example here