Some modifications
Added class
Improvised
Cleaned up for fast upload