pass optional arguments to initialize