added more comments, test cases; figured out where to look next