this was all provided
finished, must research pointers to pointers more