ball constr uses main loop