now library functions can return multiple arguments