almost compile