add three layer model