refactor to make alternate screens work again