finished with all function tests