removed bridge
implemented strategy and command pattern