execute and decoder parts working