works better, but still broke