refine general functionality