first idea for a seperation of PrepareWrite and Write.