Ported all the instructions over