fix some guards
move the sign options into the sign class file
move the modemap code out into its own class