added in signals and added a test runner.