fix base factor
spedup calc, rm same factor
code cleanup
drop source factors