Added addtional constructors and test functions.