refactor out celltype