Adding more fucntionality and test cases