Backups storage

Add a backups archive storage abstraction and do a little cleanup.
instead of deeply nested ifs wouldn't it be clearer to chain the conditions with &&