updating documentation, expanding unit tests