Tweaked the design
Fixed bug
Fixed precompile bug
Fixed precompile bug
Fixed precompile bug