adding 3 func