Added basic functionality with partial test cases