extra initialization can now be done by overriding templates