this is working this is crap but working