new design code
updated