compile fun.