take_of_le func
wip
add all
merge of master