Updated the Model, Added tests