Re-factored to mobile first