Added main and abstract