rework usage()