And the function names shouldn't be so generic.  Done, done, and done!