initial commit of class and unit tests