Adding tests. God please let me understand this next time when I come to finish this!