allow constructor to accept optional arguments that are passed to .delegate