Add self define type and implement stack