add nbh and test cases, refactor them & how they are managed