copy more from 'precise' branch