Adding new functions and fixing the ones already exists