Updated for better design.