added dependent functions.