init pattern leran