added <E> for stack and vectors