use builtin pow not math.pow