initial signals code with tests