revised components based on user feedback