added first functional model