precompile with UI