initial commit : encode / decode + format text