Restructured it to be more responsive