added comments to each class & changed how save/load was occuring to allow more
separation