A lot of functions have been added