added bunch of new tests