bug fixes & test
add test