refactored to web namespace
adds preliminary precompile