design fixes with precompile