no mixing of code and declarations