fixes all bugs