backups: cleanups, refactor, add options