added signals and doc strings