split function to multi module