add unit tests cases and necessary libs.