updated unit tests, passing unit tests