code can be empty (but why would you do that?)