accept optional decorator argument with initialization