splitted into converter and viewer