Obama signs $42 billion bill aimed to help small businesses