implementing more instructions