separate training step
added categorization