change from features array to linked list
undo for features
undo/redo, mostly
undo/redo done