fixed linking.
simplified class names. Expanded unit tests.