updated circle calculation