New implementation. Add color