added setup and requirements