better unicode support, rework markup to handle encoding better
fix documentation
made markup returns more forgiving