updated copy
compile