not quite how i want it yet, but progress