toda la primer parte de funciones terminada