implement record protocol
config maven plugins