updating unit tests and adding reactive interface