Added various test cases for the majority of the features