port by tammy loucks
_