buggy, but progress