Author: NCC Microsystems Centre.