not very easy to write it through once