re-write list functions e update doesn't require package-query