tweaking constructors and dependencies