refactored hole and initialHole handling to share common code
simplified access to values during option handling, factored out the declaration of some re-used variables