add some unfinished generic internal modules