some basic instructions impl but not tested