copy droplast/1 last/1 from erlang stdlib
add split function
add generate_name