Interface clean up
Improve control flow