working but slow, time to refine