using listen gem instead calling method on each update