a lot of stuff works now with blaze already, but not all. some refactoring