documento un poco el codigo y agrego TODO's