still doesn't work, but making good progress