sample now compiling, anyway much work todo