#4808, #4805, #4806: fixed color issues

- I think it is a bit simpler logics now (for human)