Implementado pto.4, arreglado y funcionando pto.2, agregados los test faltantes.