Adding tests, handling all edge cases that I am aware of