category initial implementation