abstracted compilation middleware
better logging
implemented cache