update `arc()` method to handle helixs