(from lib)