Updates
Documentation and Some Unit Tests