initial signals refactor