minimal refact