modify elements instead of rebuilding whole page