category module almost finished