added first draft of improved model