refactor constellation methods to follow FP style