Author: bswan@mnpetro.com