added printer, switch and router implementation