improvemment and fixes