# using std::vector instead of std::forward_list to increase performance