major changes, fixes