Added new files and made several modifications