some fixes
many many changes