remove when; work on clean up logic