imported from private repo (last modified in August 2012)