added architecture definition