Add static factory class
Update doc