Updated with classes structure..........