finalized smfact; finally completely happy with the result