rewrote injector in a functional style,
ignores functions that contain return values