remade to use singleTone