fairly broken - just before reverting stuff to get back to basics