updated with iterator - not sure hwo to do remove