packrec,quite long