solve this later... looks solvable.