updated based on feedback. Ready for second review