add mapcar and append functions