boundary penalties almost done