update functional and unit tests