This is a pretty intense string of methods here, could probably get pulled out.