added pointer variation loop