add setter and argument injection, improve parameter resolving