This paper discusses a dynamic stochastic general equilibrium model designed for monetary policy analysis in Pakistan. The purpose of the paper is to describe the structure, calibration and the solution of the model to facilitate its use for addressing a wide range of questions. We begin with a basic version of the model and then incorporate a number of extensions that are needed to analyze certain monetary policy issues. The modular structure of the model would allow a user to select a variant that is suitable for addressing a question at hand. It would also facilitate further extensions and variations of the model in future. The basic version is based on the conventional New-Keynesian framework. An important feature of this framework is the presence of nominal rigidities, which allows monetary shocks to have real effects in the short run. Three major extensions of the basic version are considered. The first extension differentiates between two types of households: high-income (skilled) household who can borrow or lend and low-income (unskilled) households who are liquidity constrained. The second extension introduces a banking sector that transforms deposits (by high-income households) into loans (to firms) for financing investment. The third extension allows for imperfect credibility of monetary and fiscal policy rules and adds a model in which inflationary expectations depend on credibility stock that is determined endogenously. For each version, the paper discusses the model equations and the procedure for calibration and solution of the model. The description of the procedure would make it easy for a user to change certain parameter values in response to more information and new data or for the purpose of sensitivity analysis. The model is work in progress. At this time the focus is on developing a basic structure that is suitable for addressing certain monetary policy issues. We expect that further variations and extensions would be added in response to new policy concerns. At a later date, we also expect to develop a data set that could be used to evaluate the performance of different variants of the model.