refact, compile errors