update and add new tests