it kind of works but fuck it