add forking mechanism