updated based on feedback from Dom