made soft boundary work, cleaned up