A conversational agent or a chatbot is piece of software which can communicate with human users with the help of natural language processing (NLP). Modelling conversation is a very crucial task in natural language processing and artificial intelligence (AI). Since the discovery of artificial intelligence, creating a good chatbot is one of the field’s hardest and complex challenges. Chatbots can be used for various tasks such as make phone calls, provide reminders etc; in general they have to understand users’ utterances and provide relevant responses for the problem in hand. Previously, methods which were used for constructing chatbot architectures relied on hand-written rules, templates or simple statistical methods. Rising and innovating field of deep learning have replaced previous models with trainable neural network models. The recurrent encoder-decoder model is the dominating model in the field modelling conversations. Multiple variations and features have been presented that have changed the quality of the conversation that chatbots are capable of. In our project, we have surveyed recent literatures published, examining various publications related to chatbots. We started with taking Cornell movie dialogue corpus as our dataset then after training our model with it and fine tuning it with various parameters, non-satisfactory results lead us to take another dataset and we trained and tested our final model on modified Gunthercox dataset which gave us satisfactory results for an open domain chatbot or general domain chatbot.