add support for more write methods