categories generated from js