fixed mostly everything