use glow::error and throw an exception?