added precode