passing config rather than fn for other constructor reference