move combination() method to util