diff --git a/TODO b/TODO
index 888ac8c..694ac4e 100644
--- a/TODO
+++ b/TODO
@@ -262,13 +262,15 @@
 - keep error codes in man pages in sync
 - document ZIP_SOURCE_GET_ARGS(type, data, len, error) ((len) < sizeof(type) ? zip_error_set((error), ZIP_ER_INVAL, 0), NULL : (type *)(data))
 - document new functions
-** zip_t *zip_open_from_source(zip_source_t *, int, zip_error_t *);
+-- include in existing zip_foo pages:
 ** zip_source_t *zip_source_buffer_create(const void *, zip_uint64_t, int, zip_error_t *);
-** int zip_source_close(zip_source_t *);
-** zip_error_t *zip_source_error(zip_source_t *src);
 ** zip_source_t *zip_source_file_create(const char *, zip_uint64_t, zip_int64_t, zip_error_t *);
 ** zip_source_t *zip_source_filep_create(FILE *, zip_uint64_t, zip_int64_t, zip_error_t *);
 ** zip_source_t *zip_source_function_create(zip_source_callback, void *, zip_error_t *);
+-- new pages
+** zip_t *zip_open_from_source(zip_source_t *, int, zip_error_t *);
+** int zip_source_close(zip_source_t *);
+** zip_error_t *zip_source_error(zip_source_t *src);
 ** int zip_source_is_deleted(zip_source_t *);
 ** void zip_source_keep(zip_source_t *);
 ** zip_int64_t zip_source_make_command_bitmap(zip_source_cmd_t, ...);
