not yet working but mostly there new factor class