terrible, but working