static factory