reimplemented save for collect