write usage and rule