add static create methods with return type hint