factored out create pole method