Added dataclasses to provide permissions