Library refactor finish