Implemented output with strategy pattern