Changed some function names to make less ambiguous, added visualize function for the first pass user interface