adding useful exoand contract feature (phase 1)