some renaming + added some traits