Unit Tests

basic unit tests - need updating with the latest code