added: front controller design pattern