Added class and tests