I didn't check properly if all these are needed