Copyright (c) QACC 2005