Calss structure & UI