Update unit tests

setup basic unit testing for backend models
then restructured the whole backend model
details are in the commit statements