update based on mark's suggestion