make destination file optional
error message is a tad more verbose