add a few func