reduced to one problem, still WIP