code cleaning
conflicts resolved