Pequeños refactoring y varios problemas marcados con //todo

Pequeños refactoring y varios problemas marcados con //todo