breaking out into procedures