finished up topic api, reorged user api, moved models

and reformatted type annotations