added SetCallback tests
adds ParseFile
begins great refactor