Discrete choice models are constantly in evolution in the literature. Since they enable to capture wide range of situations, they have been widely used by researchers and also practitioners in several fields of applications including econometrics and transportation demand analysis. However, estimation procedures are complicated and not always easily available to researchers. BIOGEME is a free software package for estimating by maximum likelihood a broad range of random utility models. It can estimate particularly Multivariate Extreme Value (MEV) models including the logit model, the nested logit model, the cross-nested logit model, and the network MEV model, as well as continuous and discrete mixtures of these models. Biogeme has been designed to provide modelers with tools to investigate a wide variety of discrete choice models without worrying about the estimation algorithm itself. In this paper, we present some new features and capabilities of Biogeme. To make it more flexible, we allow explicitly the user to specify the random utility model to be estimated and the associated likelihood function. With simple formulations, it will be able to handle more sophisticated models such as latent variable models, latent class models, dynamic models, etc. required by modern modeling practice, in particular in transportation.