refact
refact continued