new asset compiler and major rewrite