implement the Front Controller pattern