implemented more instructions and structs