jade runtime as an external dep, some refactoring / cleanup