improved modify::scheme() slightly