whole load of pre-submission stuff