some layout and requirements