updated based on review feedback