improve struct
improve decoration
improve pagination