one ball impl;