why create this on every invocation ?