separate dom manipulation