cleaned up topic controller