Many feature and fixes