Author: ECAFE Library.