Antiviral agents: structural basis of action and rational design.