more detailed usage