padding and precompile