added constant and modified version.