fix bug
use selectCategory macro
implement status