initial thoughts and requirements
first class layout