two suggestions from alecpl