Semi-final; need to fix some issues.