adding more functions