stable working model 2

working model satisfying some specifications