improve test readability
add functional test
improve functional test readability