fix all bugs (almost)...