implemetation problem, too complex