updated unit tests... not everything passing yet