First version with a generic type Bottle