more complete usage