We want to understand how evolution works at the molecular level. To this end, we study evolution of HIV within individual patients. The HIV genome changes substantially in the course of the infection and its evolution can be directly observed by sequencing frozen serial blood samples taken every couple of month. Using this data, we can trace how viral proteins change over time in response to immune selection and drug treatment. We complement the sequence data with theoretical modeling, as well as with data on protein function and measurements of viral fitness. The detailed understanding of HIV biology and the availability of time series genotype data make HIV a unique model system for evolution.