initial topic implementations, lacks comments and voting
Merge branch 'topics'