Added virtual print function