Some major changes and index, list implementation