subroutines and shit.