working on factor representation, indexing and opperations.