add function tests