added further more functions