add a stack implementation use link list