add composure funcs