* add new feature * add test file * update test file * update test file * Fix linting --------- Co-authored-by: Dolan Miu <dolan_miu@hotmail.com>