Re-wrote a bunch of pickup related stuff