abstract out fetch_page method
add empty options hash to get_instance, _page, _index methods, better var names

options hash has instance_index value by default that gets passed all the way through, so get_page can differ based on it