some code refactor; change cache control for IE