fixed with a lot of help from my friends