use std::vector instead of std::list
clean