best practices, arrays, flow control...