separating unit tests and functional tests