mistakes fixed. This is the real final