adding setup and requirements