implement cell division