changed module name from router to controller
cleaned up char_data abstraction