fist fixed the compile errors