Updated with better style