Trimmed down the boilerplate code. Add naught support.