Added First Set of Unit Tests and Implementation