all optional arguments are now working and palettes have been moved to individual files