corrected isCircular method, impl that was initially checked in was very wrong