Adding Model and better tests