Updated with test files and abstract