updated ring model and fixed Position.fromSpherical