all contents done

TODO: fix writing