add factor() to common
rename factor to factors
much better factors function
problem 12 finally correct