fixing so many errors