USB libraries

I am working on a project and I would like to be able to use the Serial commands to communicate over the USB

I am making an Adruino like board but using the Atmega32u2, ideally I want to be able to upload and communicate using the single chip, it has built in USB support but I cant seem to find anything that actually uses it for communication.

I am just wondering where to find that Serial library and what is it dependent on.

The Adruino uses another USB interface chip so maybe that is where I need to be looking?

Any ideas guys?

Here's a clue. Serial is an instance of the HardwareSerial class.