bunch more changes, this is boring ass work