Splitting out necessary functionality.