output module update(unfinished)