How does npm work?