initial support for annotation based injection, fixes #5