cleanup
core functions in depth is done mofos