added integer based pow