add everything needed