add the very complex instructions