code refactoring and added support for annotations on parameters of constructor