add static factories