idiot, do this properly