moved files around and added authenticated encryption