Pulled from development and added test framework