code reorganisation