added RecordWildCards to make things clearer