further panel class implementation