add support for 'append' option