works... ugly but progress worth protecting