Hi Kia, The class I am writing (lets call it "GpsReader" for the purposes of this email) will have no public attributes (that I can think of). 2 Constructors: one with no arguments GpsReader(), and one with GpsReader(string port, int baud, Parity parity, int dataB, StopBits stopB, Handshake shake) 1 delegate: GpsReaderDelegate(GpsReader sender, MySerial.GpsDataReceivedEventArgs args) 1 event: GpsDataRecievedEvent I might add another delegate/event for "GpsConnectionLost" or similar. Public Methods: public int init_NMEA_0183(), public int initSerial(string port, int baud, Parity parity, int dataB, StopBits stopB, Handshake shake), public int startGPS(), public get/set methods for each of: string port, int baud, Parity parity, int dataB, StopBits stopB, Handshake shake (eg string getPort(), setPort(string s)), 1 Destructor: ~GpsReader() I think thats all.......? I'm just about to have dinner, then I will get the acceptance tests finished and edit the testing document. Then I'll email it to Michelle for formatting/pdf-ing. Cheers, Lorin