works! mostly...