use approach cleverly suggested by paul