tidied up signals example