updated and new tests