complete but calc slightly off