Varias modificaciones y metodos agregados