improve signal logic and added user model & logic