Updated, final version