change function to private