more setting up for functionality