added different prints for each type