Multi Threading

Adding MT classes for parallelism.
unit tests
Unit tests