update with new ideas.