changed to use shl instead of the add instruction