finished draft - works currently