som cleaning
first version of if impl