mostly complete now