Should break this out into another method from here