initial source and tests