Updated for the better design