added setup and print