add precaution unit tests