more complete docs