added 2 functions and 1 decorator