added precomplething