initial implementation of writers