ok, I'll see if I can make it cleaner