maybe this could be only 1 if/elseif block?