this will allow us to remove some fairly complex logic from the front end that isn't behaving properly.