features and lots of fixes